using namespace std;

namespace dalelib
{

template<class T>
class Singleton : public T
{
private:

	Singleton() { cout << "Singleton constructor:"; }
	Singleton( const Singleton& );
	~Singleton() { cout << "Singleton destructor:"; }

public:

	static T& Instance()
	{
//		cout << "Singleton<T>::Instance():" << endl;
		static T t;
		return t;
	}
};

} // namespace dalelib
